#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QtGui>
#include "actionfichier.h"
#include "widgethistogramme.h"
#include "widgetcouleur.h"
#include "widgetcalque.h"
#include "widgethistorique.h"
#include "widgetslidercouleur.h"

class WidgetHistorique;
class WidgetSliderCouleur;
class QMdiArea;
class QSignalMapper;
class ActionImage;

namespace Ui {
    class MainWindow;
}


class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
    QMdiArea* getMdiArea();
    Ui::MainWindow* getUi();

    WidgetHistogramme* histogramme;
    WidgetCouleur *couleur;
    WidgetCalque* listecalques;
    WidgetHistorique* historique;
    WidgetSliderCouleur* sliders;

    void incrementeNbSousFenetre();
    void decrementeNbSousFenetre();
    bool existeSousFenetre();
    void activeMenus(bool activation);


    ActionFichier *getActionFichier();

public slots:
    void updateTout();

private:
    Ui::MainWindow *ui;
    QMdiArea* mdiArea;
    QSignalMapper* windowMapper;

    int nb_sousFenetre;
    ActionFichier * actionFichier;
    ActionImage * actionImage;

    void createDockWindows();
    void closeEvent(QCloseEvent *);


};

#endif // MAINWINDOW_H
